package com.yyh.myblog.service;

import com.yyh.myblog.entity.Tag;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author yyh
 * @date 2021/2/23 17:25
 */
public interface TagService {

    /**
     * saveTag新增保存
     * @param tag
     * @return
     */
    Tag saveTag(Tag tag);

    /**
     * getTag根据id查询
     * @param id
     * @return tag
     */
    Tag getTag(Long id);

    /**
     * 获取类型名称
     * @param name
     * @return
     */
    Tag getTagByName(String name);

    /**
     * listTag分页查询
     * @param pageable
     * @return Page<Tag>
     */
    Page<Tag> listTag(Pageable pageable);

    List<Tag> listTag();

    /**
     * 前端index页面根据传值的大小获取tag
     * @param size
     * @return
     */
    List<Tag> listTagTop(Integer size);

    List<Tag> listTag(String ids);

    /**
     * updateTag更新修改
     * @param id
     * @param tag
     * @return
     */
    Tag updateTag(Long id,Tag tag);

    /**
     * deleteTag删除标签
     * @param id
     */
    void deleteTag(Long id);
}
